import { request } from './index'

/**
 * 获取请求日志列表
 * @param {Object} params 查询参数
 * @returns {Promise} 返回请求日志列表
 */
export function getRequestLogs(params) {
  return request({
    url: '/v1/request-logs',
    method: 'get',
    params
  })
}

/**
 * 获取请求日志详情
 * @param {number} id 日志ID
 * @returns {Promise} 返回请求日志详情
 */
export const getRequestLogDetail = (id) => {
  return request({
    url: `/v1/request-logs/${id}`,
    method: 'get'
  })
}

/**
 * 导出请求日志
 * @param {Object} params 查询参数
 * @returns {Promise} 返回导出的文件
 */
export const exportRequestLogs = (params) => {
  return request({
    url: '/v1/request-logs/export',
    method: 'get',
    params,
    responseType: 'blob',
    // 对于blob响应，不要自动转换为JSON
    transformResponse: [data => data]
  })
}

/**
 * 获取请求日志统计数据
 * @returns {Promise} 返回统计数据
 */
export const getRequestLogsStats = () => {
  return request({
    url: '/v1/request-logs/stats',
    method: 'get'
  }).then(response => {
    if (response.code === 200) {
      return response.data
    } else {
      throw new Error(response.message || '获取统计数据失败')
    }
  })
} 